home *** CD-ROM | disk | FTP | other *** search
- /*
- File: CappuccinoPromise.h
-
- Contains: Classes to encapsulate promises.
-
- Written by: Troy Gaul
-
- Copyright: © 1995 by Apple Computer, Inc., all rights reserved.
- */
-
- #ifndef _CAPPUCCINOPROMISE_
- #define _CAPPUCCINOPROMISE_
-
- //------------------------------------------------------------------------------
- // Forward declarations
- //------------------------------------------------------------------------------
-
- class CPromise;
- class Cappuccino;
- class CCappuccinoContent;
- class CList;
-
- class Environment;
- class ODStorageUnit;
- class ODStorageUnitView;
-
- //------------------------------------------------------------------------------
- // CPromiseSet
- //------------------------------------------------------------------------------
-
- class CPromiseSet {
-
- public:
-
- // -- Construction & destruction --
-
- CPromiseSet();
-
- virtual ~CPromiseSet();
-
- // -- Operations --
-
- virtual void Clear(Environment* ev);
-
- virtual void Add(Environment* ev, CPromise* promise);
-
- protected:
-
- CList* fPromiseList;
-
- };
-
- //------------------------------------------------------------------------------
- // CPromise
- //------------------------------------------------------------------------------
-
- class CPromise {
-
- public:
-
- virtual ~CPromise();
-
- // -- Promising --
-
- virtual void PromiseTo(Environment* ev, ODStorageUnit* su);
-
- virtual void Fulfill(Environment* ev, ODStorageUnitView* promiseSUView);
-
- // -- Utilities --
-
- ODByteArray* CreatePromiseData();
-
- static CPromise* GetPromiseFromByteArray(ODByteArray* promise);
-
- static CPromise* GetPromiseFromSUView(Environment* ev,
- ODStorageUnitView* suView);
-
- protected:
-
- CPromise(Cappuccino* part);
-
- protected:
-
- Cappuccino* fPart;
- ODUpdateID fUpdateID;
- ODBoolean fIsClipboardPromise;
- ODBoolean fFulfilled;
-
- };
-
- //------------------------------------------------------------------------------
- // CCappuccinoContentPromise
- //------------------------------------------------------------------------------
-
- class CCappuccinoContentPromise : public CPromise {
-
- typedef CPromise Inherited;
-
- public:
-
- CCappuccinoContentPromise(Cappuccino* part, CCappuccinoContent* content,
- ODValueType valueType);
-
- virtual ~CCappuccinoContentPromise();
-
- // -- Promising --
-
- virtual void PromiseTo(Environment* ev, ODStorageUnit* su);
-
- virtual void Fulfill(Environment* ev, ODStorageUnitView* promiseSUView);
-
- private:
-
- CCappuccinoContent* fContent;
- ODValueType fValueType;
- };
-
-
- #endif
-